package cn.lzm.org.mapper;

import cn.lzm.basic.mapper.BaseMapper;
import cn.lzm.org.domain.Department;
import cn.lzm.org.domain.Employee;
import cn.lzm.org.query.DepartmentQuery;
import cn.lzm.org.query.EmployeeQuery;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmployeeMapper extends BaseMapper<Employee> {

//    // 添加
//    void add (Employee employee);
//    // 修改
//    void update(Employee employee);
//    // 根据id删除
//    void delete(Long id);
//
//    /*查询所有所有员工信息*/
//    List<Employee> findAll();
//
//    /*查询员工信息 通过ID*/
//    Employee findById(Long id);
//    // 查询所有数据条数
//    Integer queryByCount(EmployeeQuery query);
//    // 分页查询
//    List<Employee> queryByPage(EmployeeQuery query);
//    // 批量删除
//    void batchDel(List<Long> ids);
    // 通过部门id查员工
    List<Employee> findByDepartmentId(Long deptid);

    Employee findByName(String username);

    void delEmployeeRoleByEmpId(Long id);

    void addEmployeeRole(@Param("eid")Long id, @Param("roles") List roles);

    List<Long> findEmployeeRoleByEmpId(Long id);

    void batchDelEmpRole(Long id);
}
